import { constantRoutes, asyncRoutes } from '@/router'
const state = {
  // 创建一个数组负责管理筛选后的菜单
  routes: []
}
const mutations = {
  setRoutes(state, data) {
    state.routes = [...constantRoutes, ...data]
  }
}
const actions = {
  // 封装一个action可以通过接受当前用户的 menus 数组
  // 筛选出拥有权限的页面
  filterRoutes(store, menus) {
    // 1. 当前用户数据
    // 2. 路由列表
    const routes = asyncRoutes.filter(item => menus.indexOf(item.name) !== -1)
    // console.log('action 筛选结果', routes)

    // 调用 mutations 方便菜单渲染
    store.commit('setRoutes', routes)

    // 返回到导航守卫, 供 addRoutes 追加路由url访问配置
    return routes
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
